Jak maximalizovat form aby sa neschoval Taskbar

Otázka od: martin

25. 11. 2004 23:22

Zdravim,
 skuste si toto:
 - vytvorte "New Project"
 - mate nastavenu property form1.borderstyle := bsSizeable;
 - run

 Ak stlacite tlacitko na maximalizaciu okna, tak sa to maximalizuje v
 poriadku - t.j. tak, ze Taskbar ostava tiez zobrazeny

 - skuste nastavit property form1.borderstyle := bsNone;
 - pridajte este tlacitko "Button" a v onclick udalosti pridajte
   PostMessage(form1.Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);

 - run

 Aplikacia nema titulok, skuste ju maximalizovat pomocou tlacitka.
 Mam XPcka a to okno sa zobrazi uplne na celu obrazovku, tak ze
 prekryje aj taskbar.

 Co robim zle, resp. co,kde nastavit, aby pri form1.borderstyle := bsNone
 a maximalizovani okna sa NEPREKRYL aj taskbar ??

 Vdaka

--
Martin
D7Pro,jcl,jvcl


Odpovedá: horky@cominn.cz

26. 11. 2004 8:06

> From: martin [mailto:matrix@inmail.cz]
> Sent: Thursday, November 25, 2004 11:22 PM

> Mam XPcka a to okno sa zobrazi uplne na celu obrazovku, tak ze
> prekryje aj taskbar.

function RozmerPlochy: TRect;
begin
  { nastavit velikost podle rozliseni }
  SystemParametersInfo(SPI_GETWORKAREA, 0, @Result, 0);
end;

Tato funkce ti vrati rozmery dostupne plochy, taskbar zustane viditelny.
Uspesne pouzivame na W98, W2k i WXP.
BorderStyle u formu mam na bsSingle, Left a Top nastavim na 0, Width a Height
podle vraceneho TRect.
--
S pozdravem Karel Horky, D7, FB 1.0.3, IBX 7.08, WXP SP1
[mailto:horky@cominn.cz]